﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

////class A {
//public:
//	A(const char* s) { cout << s << endl; }
//	~A() {}
//};
//
//class B :virtual public A
//{
//public:
//	B(const char* s1, const char* s2) :A(s1) { cout << s2 << endl; }
//};
//
//class C :virtual public A
//{
//public:
//	C(const char* s1, const char* s2) :A(s1) { cout << s2 << endl; }
//};
//
//class D :public B, public C
//{
//public:
//	D(const char* s1, const char* s2, const char* s3, const char* s4)
//		:B(s1, s2)
//		, C(s1, s3)
//		, A(s1)
//	{
//		cout << s4 << endl;
//	}
//};
//
//int main()
//{
//	D* p = new D("class A", "class B", "class C", "class D");
//
//	delete p;
//
//	return 0;
//}

#include"BinarySearchTree.h"

//int main()
//{
//	BSTree<int> t;
//	int a[] = { 8, 3, 1, 10, 6, 4, 7, 14, 13 };
//	for (auto e : a)
//	{
//		t.Insert(e);
//	}
//
//	t.InOrder();
//
//	t.Erase(8);
//	t.InOrder();
//
//	t.Erase(14);
//	t.InOrder();
//
//	t.Erase(4);
//	t.InOrder();
//
//	t.Erase(6);
//	t.InOrder();
//
//	for (auto e : a)
//	{
//		t.Erase(e);
//		t.InOrder();
//	}
//
//	t.InOrder();
//
//	return 0;
//}

//int main()
//{
//	BSTree<int> t;
//	int a[] = { 8, 3, 1, 10, 6, 4, 7, 14, 13 };
//	for (auto e : a)
//	{
//		t.InsertR(e);
//	}
//
//	t.InOrder();
//
//	t.EraseR(8);
//	t.InOrder();
//
//	t.EraseR(14);
//	t.InOrder();
//
//	t.EraseR(4);
//	t.InOrder();
//
//	t.EraseR(6);
//	t.InOrder();
//
//	for (auto e : a)
//	{
//		t.EraseR(e);
//		t.InOrder();
//	}
//
//	t.InOrder();
//
//	return 0;
//}

//int main()
//{
//	BSTree<int> t;
//	int a[] = { 8, 3, 1, 10, 6, 4, 7, 14, 13 };
//	for (auto e : a)
//	{
//		t.InsertR(e);
//	}
//	t.InOrder();
//
//	BSTree<int> t1(t);
//	t1.InOrder();
//
//	return 0;
//}

int main()
{
	key_value::BSTree<string, string> dict;
	dict.Insert("sort", "1");
	dict.Insert("left", "2");
	dict.Insert("right", "3");
	dict.Insert("string", "4");

	string str;
	while (cin >> str)
	{
		auto ret = dict.Find(str);
		if (ret)
		{
			cout << ret->_value << endl;
		}
		else
		{
			cout << "4567" << endl;
		}
	}

	return 0;
}
